package com.lcy.springtest;

import com.lcy.springtest.conf.ProfileConfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;

import javax.sql.DataSource;

/**
 * @author lichenyang```
 * @create 2021-04-19 9:36 下午
 */
public class ProfileMainConfig {
    public static void main(String[] args) {
        //3中激活环境变量的方式
        //1.直接在jvm 启动参数中 添加 -Dspring.profiles.active=test
//        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(ProfileConfig.class);
//        String[] beanNamesForType = applicationContext.getBeanNamesFo`rType(DataSource.class);
//        for (String str :
//                beanNamesForType) {
//            System.out.println(str);
//        }

        //2. 使用代码的方式设置环境信息
        // 这里需要创建空参的构造方法, 不能使用带参数的构造方法
        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
        ConfigurableEnvironment environment = applicationContext.getEnvironment();
        environment.setActiveProfiles("test");
        applicationContext.register(ProfileConfig.class);
        applicationContext.refresh();
    }
}
